from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(主动技能):
    名称 = '投掷苦无'
    所在等级 = 1
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [8, 91]
    data0 = [int(i) for i in [0, 331, 374, 418, 460, 504, 547, 590, 633, 677, 719, 763, 806, 849, 892, 936, 978, 1022, 1065, 1108, 1151, 1195, 1237, 1281, 1324, 1367, 1410, 1454, 1496, 1540, 1583, 1626, 1669, 1713, 1755, 1799, 1842, 1885, 1928, 1972, 2014, 2058, 2101, 2144, 2187, 2231, 2273, 2317, 2360, 2403, 2446, 2490, 2532, 2576, 2619, 2662, 2705, 2749, 2791, 2835, 2878, 2921, 2964, 3008, 3050, 3094, 3136, 3180, 3223, 3267, 3309]]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7
    CD = 1.8

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
        if 形态 == "六道":
            self.倍率 = 1.8



class 技能1(主动技能):
    名称 = '焰刃'
    所在等级 = 5
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [15, 168]
    data0 = [int(i) for i in [0, 571, 647, 721, 796, 870, 944, 1020, 1093, 1169, 1243, 1317, 1393, 1466, 1542, 1616, 1690, 1766, 1839, 1915, 1989, 2063, 2139, 2212, 2288, 2362, 2436, 2511, 2585, 2661, 2735, 2808, 2884, 2958, 3034, 3108, 3181, 3257, 3331, 3407, 3481, 3554, 3630, 3704, 3780, 3854, 3927, 4003, 4077, 4153, 4226, 4300, 4376, 4450, 4526, 4599, 4673, 4749, 4823, 4899, 4972, 5046, 5122, 5196, 5272, 5345, 5419, 5495, 5569, 5645, 5718]]
    hit0 = 2
    TP成长 = 0.1
    TP上限 = 7
    CD = 6.3

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
        if 形态 == "六道":
            self.倍率 = 1.8


# 20%转化为灼伤,基础攻击力-20%
class 技能2(主动技能):
    名称 = '火遁·豪火球之术'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [15, 168]
    data0 = [int((i*0.8)) for i in [0, 125, 139, 150, 165, 176, 191, 203, 216, 227, 242, 253, 267, 280, 292, 304, 319, 330, 344, 356, 369, 381, 396, 407, 418, 432, 444, 458, 468, 483, 495, 509, 520, 535, 546, 561, 572, 586, 597, 611, 623, 637, 649, 663, 673, 688, 700, 714, 725, 739, 750, 765, 777, 791, 801, 816, 828, 841, 854, 868, 878, 893, 905, 918, 931, 944, 955, 970, 982, 992, 1006]]
    hit0 = 12
    data1 = [int((i*0.8)) for i in [0, 504, 555, 605, 656, 709, 760, 809, 860, 912, 963, 1014, 1065, 1116, 1167, 1219, 1270, 1321, 1371, 1421, 1473, 1525, 1576, 1626, 1677, 1730, 1781, 1831, 1882, 1931, 1984, 2035, 2086, 2137, 2189, 2240, 2290, 2342, 2393, 2445, 2494, 2545, 2597, 2647, 2699, 2750, 2802, 2852, 2904, 2955, 3006, 3056, 3107, 3158, 3210, 3261, 3311, 3362, 3415, 3466, 3516, 3567, 3618, 3669, 3720, 3771, 3822, 3874, 3925, 3976, 4027]]
    hit1 = 1
    #灼伤
    灼伤data0 = [int((i*0.2)) for i in [0, 125, 139, 150, 165, 176, 191, 203, 216, 227, 242, 253, 267, 280, 292, 304, 319, 330, 344, 356, 369, 381, 396, 407, 418, 432, 444, 458, 468, 483, 495, 509, 520, 535, 546, 561, 572, 586, 597, 611, 623, 637, 649, 663, 673, 688, 700, 714, 725, 739, 750, 765, 777, 791, 801, 816, 828, 841, 854, 868, 878, 893, 905, 918, 931, 944, 955, 970, 982, 992, 1006]]
    灼伤hit0 = 12
    灼伤data1 = [int((i*0.2)) for i in [0, 504, 555, 605, 656, 709, 760, 809, 860, 912, 963, 1014, 1065, 1116, 1167, 1219, 1270, 1321, 1371, 1421, 1473, 1525, 1576, 1626, 1677, 1730, 1781, 1831, 1882, 1931, 1984, 2035, 2086, 2137, 2189, 2240, 2290, 2342, 2393, 2445, 2494, 2545, 2597, 2647, 2699, 2750, 2802, 2852, 2904, 2955, 3006, 3056, 3107, 3158, 3210, 3261, 3311, 3362, 3415, 3466, 3516, 3567, 3618, 3669, 3720, 3771, 3822, 3874, 3925, 3976, 4027]]
    灼伤hit1 = 1    
    灼伤data2 = [int(i) for i in [0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13]]
    灼伤hit2 = 1    
    TP成长 = 0.1
    TP上限 = 7    
    CD = 7.5

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
        if 形态 == "六道":
            self.倍率 = 1.8


class 技能3(被动技能):
    名称 = '忍术精通'
    所在等级 = 15
    等级上限 = 1
    基础等级 = 1
    关联技能 = ['无']
    冷却关联技能 = ['投掷苦无', '焰刃', '火遁·豪火球之术', '忍法：幻影手里剑', '火遁·飓风煞', '火遁·螺旋手里剑','火遁·炎天道', '火遁·蟾蜍油炎弹', '火遁·炎舞天璇', '八岐大蛇', '火遁·风魔手里剑', '天照','勾玉之火·镰鼬']

    def CD缩减倍率(self, 武器类型):
        return 0.8


# 25%转化为灼伤,基础攻击力-20%
class 技能4(主动技能):
    名称 = '忍法：幻影手里剑'
    备注 = '(结印打满40hit)'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [15, 168]
    data0 = [int((i*0.8)) for i in [0, 186, 206, 224, 244, 262, 282, 300, 320, 337, 358, 378, 395, 413, 433, 452, 472, 489, 509, 528, 547, 565, 585, 603, 623, 642, 660, 679, 699, 717, 735, 755, 775, 793, 813, 830, 851, 869, 887, 907, 927, 944, 963, 983, 1000, 1020, 1039, 1059, 1077, 1096, 1114, 1135, 1153, 1171, 1190, 1211, 1228, 1248, 1266, 1286, 1304, 1322, 1343, 1362, 1379, 1398, 1419, 1436, 1455, 1474, 1494]]
    hit0 = 10
    data1 = [int((i*0.8)) for i in [0, 186, 206, 224, 244, 262, 282, 300, 320, 337, 358, 378, 395, 413, 433, 452, 472, 489, 509, 528, 547, 565, 585, 603, 623, 642, 660, 679, 699, 717, 735, 755, 775, 793, 813, 830, 851, 869, 887, 907, 927, 944, 963, 983, 1000, 1020, 1039, 1059, 1077, 1096, 1114, 1135, 1153, 1171, 1190, 1211, 1228, 1248, 1266, 1286, 1304, 1322, 1343, 1362, 1379, 1398, 1419, 1436, 1455, 1474, 1494]]
    hit1 = 20
    power1 = 0.5
    data2 = [int((i*0.8)) for i in [0, 186, 206, 224, 244, 262, 282, 300, 320, 337, 358, 378, 395, 413, 433, 452, 472, 489, 509, 528, 547, 565, 585, 603, 623, 642, 660, 679, 699, 717, 735, 755, 775, 793, 813, 830, 851, 869, 887, 907, 927, 944, 963, 983, 1000, 1020, 1039, 1059, 1077, 1096, 1114, 1135, 1153, 1171, 1190, 1211, 1228, 1248, 1266, 1286, 1304, 1322, 1343, 1362, 1379, 1398, 1419, 1436, 1455, 1474, 1494]]
    hit2 = 10
    power2 = 0.3
    #灼伤
    灼伤data0 = [int((i*0.2)) for i in [0, 186, 206, 224, 244, 262, 282, 300, 320, 337, 358, 378, 395, 413, 433, 452, 472, 489, 509, 528, 547, 565, 585, 603, 623, 642, 660, 679, 699, 717, 735, 755, 775, 793, 813, 830, 851, 869, 887, 907, 927, 944, 963, 983, 1000, 1020, 1039, 1059, 1077, 1096, 1114, 1135, 1153, 1171, 1190, 1211, 1228, 1248, 1266, 1286, 1304, 1322, 1343, 1362, 1379, 1398, 1419, 1436, 1455, 1474, 1494]]
    灼伤hit0 = 10
    灼伤data1 = [int((i*0.2)) for i in [0, 186, 206, 224, 244, 262, 282, 300, 320, 337, 358, 378, 395, 413, 433, 452, 472, 489, 509, 528, 547, 565, 585, 603, 623, 642, 660, 679, 699, 717, 735, 755, 775, 793, 813, 830, 851, 869, 887, 907, 927, 944, 963, 983, 1000, 1020, 1039, 1059, 1077, 1096, 1114, 1135, 1153, 1171, 1190, 1211, 1228, 1248, 1266, 1286, 1304, 1322, 1343, 1362, 1379, 1398, 1419, 1436, 1455, 1474, 1494]]
    灼伤hit1 = 20
    灼伤power1 = 0.5
    灼伤data2 = [int((i*0.2)) for i in [0, 186, 206, 224, 244, 262, 282, 300, 320, 337, 358, 378, 395, 413, 433, 452, 472, 489, 509, 528, 547, 565, 585, 603, 623, 642, 660, 679, 699, 717, 735, 755, 775, 793, 813, 830, 851, 869, 887, 907, 927, 944, 963, 983, 1000, 1020, 1039, 1059, 1077, 1096, 1114, 1135, 1153, 1171, 1190, 1211, 1228, 1248, 1266, 1286, 1304, 1322, 1343, 1362, 1379, 1398, 1419, 1436, 1455, 1474, 1494]]
    灼伤hit2 = 10
    灼伤power2 = 0.3
    TP成长 = 0.1
    TP上限 = 7   
    CD = 12.0

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
        if 形态 == "六道":
            self.倍率 = 1.8


# 25%转化为灼伤,基础攻击力-20%
class 技能5(主动技能):
    名称 = '火遁·飓风煞'
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [61, 610]
    data0 = [int((i*0.8)) for i in [0, 132, 147, 161, 173, 187, 199, 213, 228, 240, 254, 267, 282, 293, 306, 321, 335, 349, 362, 374, 387, 402, 415, 429, 442, 455, 468, 483, 497, 510, 523, 536, 550, 563, 577, 590, 603, 618, 631, 645, 659, 671, 685, 698, 712, 723, 739, 754, 765, 780, 791, 806, 820, 834, 848, 859, 873, 886, 900, 914, 929, 939, 953, 968, 981, 996, 1007, 1021, 1034, 1048, 1062]]
    hit0 = 25
    data1 = [int((i*0.8)) for i in [0, 974, 1072, 1170, 1268, 1368, 1468, 1566, 1666, 1763, 1861, 1959, 2058, 2159, 2257, 2355, 2454, 2553, 2652, 2750, 2850, 2948, 3046, 3144, 3244, 3342, 3440, 3538, 3639, 3738, 3836, 3936, 4033, 4132, 4229, 4330, 4429, 4527, 4626, 4724, 4823, 4924, 5022, 5121, 5218, 5316, 5415, 5514, 5613, 5713, 5811, 5909, 6008, 6108, 6206, 6307, 6404, 6502, 6600, 6699, 6799, 6896, 6995, 7094, 7194, 7292, 7391, 7488, 7587, 7685, 7785]]
    hit1 = 1
    #灼伤
    灼伤data0 = [int((i*0.2)) for i in [0, 132, 147, 161, 173, 187, 199, 213, 228, 240, 254, 267, 282, 293, 306, 321, 335, 349, 362, 374, 387, 402, 415, 429, 442, 455, 468, 483, 497, 510, 523, 536, 550, 563, 577, 590, 603, 618, 631, 645, 659, 671, 685, 698, 712, 723, 739, 754, 765, 780, 791, 806, 820, 834, 848, 859, 873, 886, 900, 914, 929, 939, 953, 968, 981, 996, 1007, 1021, 1034, 1048, 1062]]
    灼伤hit0 = 25
    灼伤data1 = [int((i*0.2)) for i in [0, 974, 1072, 1170, 1268, 1368, 1468, 1566, 1666, 1763, 1861, 1959, 2058, 2159, 2257, 2355, 2454, 2553, 2652, 2750, 2850, 2948, 3046, 3144, 3244, 3342, 3440, 3538, 3639, 3738, 3836, 3936, 4033, 4132, 4229, 4330, 4429, 4527, 4626, 4724, 4823, 4924, 5022, 5121, 5218, 5316, 5415, 5514, 5613, 5713, 5811, 5909, 6008, 6108, 6206, 6307, 6404, 6502, 6600, 6699, 6799, 6896, 6995, 7094, 7194, 7292, 7391, 7488, 7587, 7685, 7785]]
    灼伤hit1 = 1
    TP成长 = 0.1
    TP上限 = 7   
    CD = 17

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
        if 形态 == "六道":
            self.倍率 = 1.8


class 技能6(被动技能):
    名称 = '苦无精通'
    所在等级 = 25
    等级上限 = 20
    基础等级 = 10

    def 魔法攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.23 + 0.01 * self.等级, 5)


class 技能7(被动技能):
    名称 = '烈焰印记'
    所在等级 = 25
    等级上限 = 20
    基础等级 = 10

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.3 + 0.01 * self.等级, 5)


# 25%转化为灼伤,基础攻击力-20% youwenti
class 技能8(主动技能):
    名称 = '火遁·螺旋手里剑'
    备注 = '地面/空中'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [91, 910]
    data0 = [int((i*0.8)) for i in [0, 196, 215, 234, 254, 274, 294, 314, 334, 355, 373, 392, 413, 433, 452, 473, 491, 512, 532, 551, 572, 592, 610, 631, 650, 671, 691, 709, 730, 749, 769, 790, 809, 828, 848, 868, 889, 908, 928, 948, 967, 986, 1007, 1027, 1047, 1066, 1085, 1106, 1126, 1145, 1166, 1184, 1205, 1225, 1244, 1265, 1285, 1303, 1324, 1343, 1363, 1384, 1403, 1423, 1442, 1462, 1482, 1502, 1520, 1541, 1561]]
    hit0 = 15
    data1 = [int((i*0.8)) for i in [0, 805, 887, 968, 1050, 1131, 1214, 1295, 1377, 1457, 1540, 1622, 1702, 1785, 1867, 1949, 2029, 2112, 2194, 2274, 2357, 2439, 2520, 2601, 2684, 2765, 2846, 2928, 3010, 3092, 3173, 3255, 3337, 3418, 3499, 3582, 3664, 3744, 3826, 3909, 3989, 4071, 4154, 4236, 4316, 4398, 4481, 4561, 4643, 4726, 4807, 4888, 4970, 5052, 5133, 5215, 5296, 5379, 5460, 5541, 5624, 5706, 5786, 5868, 5951, 6031, 6113, 6195, 6276, 6358, 6440]]
    hit1 = 1
    #灼伤
    灼伤data0 = [int((i*0.2)) for i in [0, 196, 215, 234, 254, 274, 294, 314, 334, 355, 373, 392, 413, 433, 452, 473, 491, 512, 532, 551, 572, 592, 610, 631, 650, 671, 691, 709, 730, 749, 769, 790, 809, 828, 848, 868, 889, 908, 928, 948, 967, 986, 1007, 1027, 1047, 1066, 1085, 1106, 1126, 1145, 1166, 1184, 1205, 1225, 1244, 1265, 1285, 1303, 1324, 1343, 1363, 1384, 1403, 1423, 1442, 1462, 1482, 1502, 1520, 1541, 1561]]
    灼伤hit0 = 15
    灼伤data1 = [int((i*0.2)) for i in [0, 805, 887, 968, 1050, 1131, 1214, 1295, 1377, 1457, 1540, 1622, 1702, 1785, 1867, 1949, 2029, 2112, 2194, 2274, 2357, 2439, 2520, 2601, 2684, 2765, 2846, 2928, 3010, 3092, 3173, 3255, 3337, 3418, 3499, 3582, 3664, 3744, 3826, 3909, 3989, 4071, 4154, 4236, 4316, 4398, 4481, 4561, 4643, 4726, 4807, 4888, 4970, 5052, 5133, 5215, 5296, 5379, 5460, 5541, 5624, 5706, 5786, 5868, 5951, 6031, 6113, 6195, 6276, 6358, 6440]]
    灼伤hit1 = 1
    TP成长 = 0.1
    TP上限 = 7   
    TP成长 = 0.1
    TP上限 = 7   
    CD = 12.0

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
        if 形态 == "六道":
            self.倍率 = 1.8

    def 等效百分比(self, 武器类型):
        if self.TP等级 == 0:
            return (self.data0[self.等级] * self.hit0 + self.data1[self.等级] * self.hit1) * self.倍率 * self.攻击倍率
        else:
            if self.TP等级 <= 5:
                return (self.data0[self.等级] * (self.hit0-self.TP等级*2-1) + self.data1[self.等级] * (self.TP等级+1) * self.hit1 + self.灼伤data0[self.等级] * (self.灼伤hit0-self.TP等级*2-1) + self.灼伤data1[self.等级] * (self.TP等级+1) * self.灼伤hit1) * self.倍率 * self.攻击倍率


class 技能9(主动技能):
    名称 = '忍法：残影术'
    所在等级 = 35
    等级上限 = 11
    基础等级 = 1
    是否有伤害 = 0
    MP = [128, 1280]
    关联技能 = ['投掷苦无', '焰刃', '火遁·豪火球之术', '忍法：幻影手里剑', '火遁·飓风煞', '火遁·螺旋手里剑', '忍法：替身术', '火遁·炎天道', '火遁·蟾蜍油炎弹', '火遁·炎舞天璇', '火遁·冥炎业火阵', '八岐大蛇',
            '火遁·风魔手里剑', '忍法：飞燕手里剑', '天照', '勾玉之火·镰鼬', '火炎灼空：草雉剑', '火源限界·八咫乌']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(0.98 + 0.02 * self.等级, 5)


class 技能10(主动技能):
    名称 = '忍法：替身术'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [91, 910]
    data0 = [int(i*1.318) for i in [0, 1878, 2178, 2477, 2777, 3077, 3374, 3674, 3974, 4276, 4572, 4874, 5173, 5472, 5772, 6072, 6370, 6670, 6970, 7268, 7568, 7867, 8166, 8467, 8767, 9066, 9365, 9665, 9964, 10264, 10564, 10861, 11161, 11461, 11760, 12059, 12361, 12659, 12959, 13259, 13558, 13856, 14156, 14455, 14755, 15055, 15353, 15653, 15954, 16252, 16553, 16852, 17150, 17450, 17750, 18048, 18348, 18648, 18947, 19247, 19546, 19844, 20146, 20446, 20744, 21044, 21343, 21643, 21942, 22242, 22542]]
    hit0 = 1
    data1 = [int(i*1.318) for i in [0, 1127, 1307, 1486, 1667, 1846, 2027, 2204, 2384, 2566, 2743, 2924, 3104, 3283, 3463, 3641, 3822, 4003, 4182, 4361, 4541, 4721, 4901, 5080, 5261, 5438, 5618, 5800, 5977, 6158, 6337, 6518, 6697, 6877, 7057, 7235, 7416, 7596, 7775, 7955, 8135, 8314, 8495, 8674, 8854, 9032, 9212, 9392, 9571, 9752, 9930, 10111, 10291, 10469, 10650, 10829, 11009, 11189, 11369, 11548, 11728, 11908, 12089, 12266, 12446, 12628, 12805, 12986, 13164, 13345, 13525]]
    hit1 = 1
    data2 = [int(i*1.318) for i in [0, 4960, 5749, 6540, 7331, 8122, 8912, 9703, 10493, 11285, 12074, 12865, 13656, 14444, 15238, 16026, 16819, 17608, 18401, 19190, 19979, 20772, 21560, 22354, 23142, 23933, 24724, 25512, 26306, 27094, 27888, 28675, 29466, 30257, 31048, 31838, 32628, 33419, 34210, 35000, 35791, 36582, 37372, 38164, 38953, 39744, 40535, 41326, 42116, 42906, 43698, 44488, 45280, 46069, 46859, 47651, 48440, 49232, 50022, 50814, 51604, 52392, 53185, 53974, 54767, 55555, 56346, 57137, 57928, 58718, 59508]]
    hit2 = 1
    TP成长 = 0.10
    TP上限 = 5
    CD = 25


class 技能11(主动技能):
    名称 = '火遁·炎天道'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int((i*0.8)) for i in [0, 274, 299, 331, 355, 383, 410, 439, 467, 494, 523, 548, 580, 605, 632, 659, 689, 718, 743, 774, 799, 828, 854, 882, 911, 938, 967, 992, 1024, 1049, 1078, 1102, 1129, 1159, 1186, 1214, 1241, 1271, 1297, 1326, 1354, 1381, 1410, 1434, 1465, 1490, 1519, 1547, 1574, 1603, 1630, 1658, 1685, 1715, 1741, 1770, 1798, 1825, 1854, 1880, 1909, 1932, 1966, 1990, 2017, 2045, 2074, 2101, 2128, 2156, 2184]]
    hit0 = 1
    data1 = [int((i*0.8)) for i in [0, 820, 901, 986, 1067, 1150, 1235, 1319, 1402, 1486, 1568, 1650, 1733, 1816, 1898, 1984, 2065, 2149, 2233, 2315, 2399, 2483, 2562, 2646, 2730, 2814, 2897, 2982, 3062, 3145, 3230, 3313, 3395, 3479, 3560, 3644, 3727, 3811, 3893, 3979, 4061, 4141, 4226, 4309, 4390, 4475, 4558, 4642, 4726, 4810, 4892, 4974, 5057, 5140, 5222, 5306, 5389, 5472, 5556, 5640, 5722, 5806, 5887, 5969, 6053, 6137, 6221, 6305, 6385, 6469, 6554]]
    hit1 = 0
    data2 = [int((i*0.8)) for i in [0, 545, 601, 656, 713, 767, 826, 880, 936, 988, 1044, 1099, 1156, 1211, 1268, 1321, 1376, 1433, 1487, 1543, 1598, 1656, 1711, 1768, 1819, 1876, 1931, 1985, 2040, 2098, 2153, 2209, 2263, 2320, 2375, 2429, 2485, 2540, 2597, 2652, 2706, 2760, 2816, 2872, 2928, 2983, 3040, 3095, 3151, 3204, 3260, 3317, 3373, 3427, 3480, 3536, 3592, 3647, 3702, 3760, 3815, 3871, 3924, 3980, 4036, 4091, 4148, 4204, 4259, 4314, 4368]]
    hit2 = 1
    data3 = [int((i*0.8)) for i in [0, 5072, 5586, 6101, 6616, 7130, 7645, 8160, 8675, 9190, 9706, 10218, 10733, 11246, 11764, 12276, 12791, 13304, 13819, 14335, 14849, 15365, 15880, 16393, 16909, 17424, 17938, 18452, 18967, 19482, 19997, 20512, 21022, 21538, 22055, 22567, 23082, 23597, 24112, 24626, 25141, 25655, 26170, 26686, 27199, 27714, 28230, 28744, 29260, 29774, 30288, 30803, 31319, 31831, 32346, 32858, 33373, 33890, 34403, 34920, 35435, 35947, 36463, 36978, 37492, 38006, 38520, 39035, 39550, 40064, 40578]]
    hit3 = 1    
    #灼伤
    灼伤data0 = [int((i*0.2)) for i in [0, 274, 299, 331, 355, 383, 410, 439, 467, 494, 523, 548, 580, 605, 632, 659, 689, 718, 743, 774, 799, 828, 854, 882, 911, 938, 967, 992, 1024, 1049, 1078, 1102, 1129, 1159, 1186, 1214, 1241, 1271, 1297, 1326, 1354, 1381, 1410, 1434, 1465, 1490, 1519, 1547, 1574, 1603, 1630, 1658, 1685, 1715, 1741, 1770, 1798, 1825, 1854, 1880, 1909, 1932, 1966, 1990, 2017, 2045, 2074, 2101, 2128, 2156, 2184]]
    灼伤hit0 = 1
    灼伤data1 = [int((i*0.2)) for i in [0, 820, 901, 986, 1067, 1150, 1235, 1319, 1402, 1486, 1568, 1650, 1733, 1816, 1898, 1984, 2065, 2149, 2233, 2315, 2399, 2483, 2562, 2646, 2730, 2814, 2897, 2982, 3062, 3145, 3230, 3313, 3395, 3479, 3560, 3644, 3727, 3811, 3893, 3979, 4061, 4141, 4226, 4309, 4390, 4475, 4558, 4642, 4726, 4810, 4892, 4974, 5057, 5140, 5222, 5306, 5389, 5472, 5556, 5640, 5722, 5806, 5887, 5969, 6053, 6137, 6221, 6305, 6385, 6469, 6554]]
    灼伤hit1 = 0
    灼伤data2 = [int((i*0.2)) for i in [0, 545, 601, 656, 713, 767, 826, 880, 936, 988, 1044, 1099, 1156, 1211, 1268, 1321, 1376, 1433, 1487, 1543, 1598, 1656, 1711, 1768, 1819, 1876, 1931, 1985, 2040, 2098, 2153, 2209, 2263, 2320, 2375, 2429, 2485, 2540, 2597, 2652, 2706, 2760, 2816, 2872, 2928, 2983, 3040, 3095, 3151, 3204, 3260, 3317, 3373, 3427, 3480, 3536, 3592, 3647, 3702, 3760, 3815, 3871, 3924, 3980, 4036, 4091, 4148, 4204, 4259, 4314, 4368]]
    灼伤hit2 = 1
    灼伤data3 = [int((i*0.2)) for i in [0, 5072, 5586, 6101, 6616, 7130, 7645, 8160, 8675, 9190, 9706, 10218, 10733, 11246, 11764, 12276, 12791, 13304, 13819, 14335, 14849, 15365, 15880, 16393, 16909, 17424, 17938, 18452, 18967, 19482, 19997, 20512, 21022, 21538, 22055, 22567, 23082, 23597, 24112, 24626, 25141, 25655, 26170, 26686, 27199, 27714, 28230, 28744, 29260, 29774, 30288, 30803, 31319, 31831, 32346, 32858, 33373, 33890, 34403, 34920, 35435, 35947, 36463, 36978, 37492, 38006, 38520, 39035, 39550, 40064, 40578]]
    灼伤hit3 = 1
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1
    CD = 18

    MP = [128, 1280]
    无色消耗 = 1

    形态 = ["地面(常规)","地面(六道)", "空中(常规)","空中(六道)"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "地面(常规)":
            self.倍率 = 1.0
            if '火遁·炎天道' in char.护石栏:
                self.power3 = 1.08
                self.灼伤power3 = 1.08
                self.倍率 = 1.18*1.0
        elif 形态 == "地面(六道)":
            self.倍率 = 1.8
            if '火遁·炎天道' in char.护石栏:
                self.power3 = 1.08
                self.灼伤power3 = 1.08
                self.倍率 = 1.18*1.8    
        elif 形态 == "空中(常规)":
            self.hit0 = 0
            self.hit1 = 1
            self.灼伤hit0 = 0
            self.灼伤hit1 = 1
            self.倍率 = 1.0
            if '火遁·炎天道' in char.护石栏:
                self.power3 = 1.08
                self.灼伤power3 = 1.08                
                self.倍率 = 1.18*1.0                
        else :
            形态 == "空中(六道)"
            self.hit0 = 0
            self.hit1 = 1
            self.灼伤hit0 = 0
            self.灼伤hit1 = 1            
            self.倍率 = 1.8
            if '火遁·炎天道' in char.护石栏:
                self.power3 = 1.08
                self.灼伤power3 = 1.08                  
                self.倍率 = 1.18*1.8    

    def 装备护石(self):
        self.power3 = 1.08
        self.灼伤power3 = 1.08    
        self.倍率 = 1.18*1.0


class 技能12(主动技能):
    名称 = '火遁·蟾蜍油炎弹'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int((i*0.8)) for i in [0, 231, 255, 277, 301, 325, 347, 371, 394, 419, 442, 465, 489, 513, 535, 559, 582, 605, 629, 652, 679, 699, 724, 749, 772, 794, 819, 842, 866, 888, 912, 937, 958, 983, 1007, 1030, 1053, 1076, 1100, 1124, 1146, 1170, 1193, 1216, 1240, 1263, 1287, 1310, 1333, 1358, 1379, 1404, 1429, 1452, 1477, 1500, 1522, 1548, 1568, 1594, 1618, 1641, 1664, 1688, 1711, 1735, 1757, 1781, 1805, 1827, 1851]]
    hit0 = 3
    data1 = [int((i*0.8)) for i in [0, 923, 1018, 1113, 1208, 1301, 1395, 1488, 1583, 1676, 1770, 1866, 1960, 2053, 2148, 2240, 2334, 2427, 2522, 2615, 2712, 2805, 2898, 2992, 3086, 3180, 3272, 3366, 3462, 3556, 3649, 3744, 3837, 3931, 4024, 4120, 4214, 4309, 4402, 4496, 4588, 4683, 4776, 4869, 4966, 5059, 5153, 5247, 5341, 5434, 5528, 5620, 5718, 5810, 5905, 5998, 6092, 6186, 6280, 6373, 6470, 6563, 6657, 6751, 6845, 6937, 7030, 7124, 7219, 7314, 7408]]
    hit1 = 1
    data2 = [int((i*0.8)) for i in [0, 7408, 8159, 8912, 9663, 10416, 11167, 11917, 12670, 13421, 14173, 14925, 15677, 16426, 17178, 17930, 18680, 19433, 20183, 20934, 21687, 22438, 23191, 23942, 24692, 25445, 26197, 26948, 27701, 28452, 29202, 29955, 30706, 31459, 32210, 32962, 33713, 34464, 35216, 35968, 36720, 37472, 38223, 38973, 39727, 40478, 41228, 41980, 42731, 43483, 44235, 44987, 45740, 46489, 47241, 47993, 48745, 49496, 50249, 50999, 51750, 52503, 53255, 54007, 54759, 55509, 56261, 57013, 57764, 58517, 59268]]
    hit2 = 1 
    #灼伤
    灼伤data0 = [int((i*0.2)) for i in [0, 231, 255, 277, 301, 325, 347, 371, 394, 419, 442, 465, 489, 513, 535, 559, 582, 605, 629, 652, 679, 699, 724, 749, 772, 794, 819, 842, 866, 888, 912, 937, 958, 983, 1007, 1030, 1053, 1076, 1100, 1124, 1146, 1170, 1193, 1216, 1240, 1263, 1287, 1310, 1333, 1358, 1379, 1404, 1429, 1452, 1477, 1500, 1522, 1548, 1568, 1594, 1618, 1641, 1664, 1688, 1711, 1735, 1757, 1781, 1805, 1827, 1851]]
    灼伤hit0 = 3
    灼伤data1 = [int((i*0.2)) for i in [0, 923, 1018, 1113, 1208, 1301, 1395, 1488, 1583, 1676, 1770, 1866, 1960, 2053, 2148, 2240, 2334, 2427, 2522, 2615, 2712, 2805, 2898, 2992, 3086, 3180, 3272, 3366, 3462, 3556, 3649, 3744, 3837, 3931, 4024, 4120, 4214, 4309, 4402, 4496, 4588, 4683, 4776, 4869, 4966, 5059, 5153, 5247, 5341, 5434, 5528, 5620, 5718, 5810, 5905, 5998, 6092, 6186, 6280, 6373, 6470, 6563, 6657, 6751, 6845, 6937, 7030, 7124, 7219, 7314, 7408]]
    灼伤hit1 = 1
    灼伤data2 = [int((i*0.2)) for i in [0, 7408, 8159, 8912, 9663, 10416, 11167, 11917, 12670, 13421, 14173, 14925, 15677, 16426, 17178, 17930, 18680, 19433, 20183, 20934, 21687, 22438, 23191, 23942, 24692, 25445, 26197, 26948, 27701, 28452, 29202, 29955, 30706, 31459, 32210, 32962, 33713, 34464, 35216, 35968, 36720, 37472, 38223, 38973, 39727, 40478, 41228, 41980, 42731, 43483, 44235, 44987, 45740, 46489, 47241, 47993, 48745, 49496, 50249, 50999, 51750, 52503, 53255, 54007, 54759, 55509, 56261, 57013, 57764, 58517, 59268]]
    灼伤hit2 = 1
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1
    CD = 25.0

    MP = [164, 1640]
    无色消耗 = 1

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
            if '火遁·蟾蜍油炎弹' in char.护石栏:
                self.power3 = 1.19
                self.灼伤power3 = 1.19                 
                self.倍率 = 1.14*1.19
        else : 
            形态 == "六道"
            self.倍率 = 1.8
            if '火遁·蟾蜍油炎弹' in char.护石栏:
                self.power3 = 1.19
                self.灼伤power3 = 1.19                 
                self.倍率 = 1.14*1.19*1.8
  
        def 装备护石(self):
            self.power3 = 1.19
            self.灼伤power3 = 1.19                 
            self.倍率 = 1.14*1.19
            self.CDR *= 0.88


class 技能13(主动技能):
    名称 = '忍法：六道轮回'
    所在等级 = 40
    等级上限 = 11
    基础等级 = 1
    关联技能 = ['火遁·豪火球之术', '忍法：幻影手里剑', '火遁·飓风煞', '火遁·螺旋手里剑', '忍法：替身术',
            '火遁·炎天道', '火遁·蟾蜍油炎弹', '火遁·炎舞天璇', '八岐大蛇', '火遁·风魔手里剑', '天照', '勾玉之火·镰鼬']
    六道技能显示 = []
    CD = 30

    自定义描述 = 1

    def 技能描述(self, 武器类型):
        temp = ''
        temp += "CD:" + str(self.CD)+"<br>"
        temp += '加成倍率:80%<br>'
        temp += '关联技能:'
        try:
            for i in range(len(self.六道技能显示) - 1):
                temp += self.六道技能显示[i] + ','
            temp += self.六道技能显示[len(self.六道技能显示) - 1]
        except:
            temp += '无'
        return temp

    def 加成倍率(self, 武器类型):
        return 1.0


class 技能14(主动技能):
    名称 = '火遁·炎舞天璇'
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int((i*0.8)) for i in [0, 552, 607, 665, 721, 775, 831, 885, 944, 1000, 1054, 1111, 1167, 1223, 1279, 1334, 1391, 1446, 1503, 1557, 1613, 1673, 1727, 1783, 1838, 1893, 1951, 2008, 2061, 2119, 2174, 2229, 2285, 2342, 2398, 2454, 2508, 2565, 2620, 2677, 2735, 2789, 2846, 2900, 2957, 3013, 3069, 3125, 3182, 3236, 3292, 3347, 3406, 3461, 3516, 3573, 3628, 3684, 3741, 3797, 3852, 3908, 3963, 4021, 4076, 4133, 4187, 4244, 4299, 4355, 4412]]
    hit0 = 8
    data1 = [int((i*0.8)) for i in [0, 167, 182, 199, 216, 232, 249, 266, 284, 300, 317, 332, 351, 368, 383, 400, 417, 434, 450, 467, 485, 501, 518, 534, 552, 569, 583, 602, 619, 637, 654, 668, 687, 702, 721, 735, 753, 769, 787, 804, 819, 838, 853, 871, 885, 905, 921, 936, 955, 970, 989, 1004, 1021, 1038, 1054, 1071, 1087, 1105, 1122, 1140, 1155, 1172, 1190, 1207, 1223, 1240, 1257, 1274, 1291, 1306, 1325]]
    hit1 = 25
    data2 = [int((i*0.8)) for i in [0, 4551, 5012, 5472, 5934, 6395, 6857, 7318, 7780, 8241, 8702, 9163, 9626, 10089, 10551, 11010, 11473, 11932, 12396, 12857, 13319, 13780, 14241, 14703, 15166, 15626, 16087, 16549, 17010, 17472, 17934, 18396, 18857, 19318, 19778, 20239, 20702, 21166, 21627, 22089, 22548, 23009, 23472, 23932, 24395, 24856, 25318, 25777, 26241, 26703, 27165, 27626, 28087, 28548, 29011, 29471, 29933, 30394, 30855, 31317, 31781, 32242, 32701, 33163, 33624, 34087, 34549, 35011, 35472, 35934, 36394]]
    hit2 = 1 
    #灼伤
    灼伤data0 = [int((i*0.2)) for i in [0, 552, 607, 665, 721, 775, 831, 885, 944, 1000, 1054, 1111, 1167, 1223, 1279, 1334, 1391, 1446, 1503, 1557, 1613, 1673, 1727, 1783, 1838, 1893, 1951, 2008, 2061, 2119, 2174, 2229, 2285, 2342, 2398, 2454, 2508, 2565, 2620, 2677, 2735, 2789, 2846, 2900, 2957, 3013, 3069, 3125, 3182, 3236, 3292, 3347, 3406, 3461, 3516, 3573, 3628, 3684, 3741, 3797, 3852, 3908, 3963, 4021, 4076, 4133, 4187, 4244, 4299, 4355, 4412]]
    灼伤hit0 = 8
    灼伤data1 = [int((i*0.2)) for i in [0, 167, 182, 199, 216, 232, 249, 266, 284, 300, 317, 332, 351, 368, 383, 400, 417, 434, 450, 467, 485, 501, 518, 534, 552, 569, 583, 602, 619, 637, 654, 668, 687, 702, 721, 735, 753, 769, 787, 804, 819, 838, 853, 871, 885, 905, 921, 936, 955, 970, 989, 1004, 1021, 1038, 1054, 1071, 1087, 1105, 1122, 1140, 1155, 1172, 1190, 1207, 1223, 1240, 1257, 1274, 1291, 1306, 1325]]
    灼伤hit1 = 25
    灼伤data2 = [int((i*0.2)) for i in [0, 4551, 5012, 5472, 5934, 6395, 6857, 7318, 7780, 8241, 8702, 9163, 9626, 10089, 10551, 11010, 11473, 11932, 12396, 12857, 13319, 13780, 14241, 14703, 15166, 15626, 16087, 16549, 17010, 17472, 17934, 18396, 18857, 19318, 19778, 20239, 20702, 21166, 21627, 22089, 22548, 23009, 23472, 23932, 24395, 24856, 25318, 25777, 26241, 26703, 27165, 27626, 28087, 28548, 29011, 29471, 29933, 30394, 30855, 31317, 31781, 32242, 32701, 33163, 33624, 34087, 34549, 35011, 35472, 35934, 36394]]
    灼伤hit2 = 1
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1
    CD = 40

    MP = [311, 3110]
    无色消耗 = 2

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
            if '火遁·炎舞天璇' in char.护石栏:
                self.hit0 = 3
                self.灼伤hit0 = 3
                self.power1 = 2.38
                self.灼伤power1 = 2.38                 
        else : 
            形态 == "六道"
            self.倍率 = 1.8
            if '火遁·炎舞天璇' in char.护石栏:
                self.hit0 = 3
                self.灼伤hit0 = 3
                self.power1 = 2.38
                self.灼伤power1 = 2.38    

    def 装备护石(self):
            self.hit0 = 3
            self.灼伤hit0 = 3
            self.power1 = 2.38
            self.灼伤power1 = 2.38    
            self.CDR *= 0.9     


class 技能15(被动技能):
    名称 = '暗炎残星'
    所在等级 = 45
    等级上限 = 11
    学习间隔 = 5
    等级精通 = 1

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.09 + 0.01 * self.等级, 5)


class 技能16(主动技能):
    名称 = '毕方之印'
    是否主动 = 0
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    # 该部分待测试，持续部分固定，但爆炸的时间点还需研究
    #火烙印 持续部分每2.5s一跳
    data0 = [int(i) for i in [0, 169, 196, 223, 250, 277, 304, 331, 358, 385, 412, 439, 466, 492, 519, 546, 573, 600, 627, 654, 681, 708, 735, 762, 789, 816, 843, 870, 897, 924, 951, 978, 1005, 1031, 1058, 1085, 1112, 1139, 1166, 1193, 1220, 1247, 1274, 1301, 1328, 1355, 1382, 1409, 1436, 1463, 1490, 1517, 1544, 1570, 1597, 1624, 1651, 1678, 1705, 1732, 1759, 1786, 1813, 1840, 1867, 1894, 1921, 1948, 1975, 2002, 2029]]
    hit0 = 1/2.5
    data1 = [int(i) for i in [0, 423, 490, 557, 625, 692, 760, 827, 894, 962, 1029, 1096, 1164, 1231, 1299, 1366, 1433, 1501, 1568, 1635, 1703, 1770, 1838, 1905, 1972, 2040, 2107, 2174, 2242, 2309, 2377, 2444, 2511, 2579, 2646, 2713, 2781, 2848, 2916, 2983, 3050, 3118, 3185, 3252, 3320, 3387, 3455, 3522, 3589, 3657, 3724, 3791, 3859, 3926, 3994, 4061, 4128, 4196, 4263, 4330, 4398, 4465, 4533, 4600, 4667, 4735, 4802, 4869, 4937, 5004, 5072]]
    hit1 = 1
    #炎烙印 持续部分每0.5s一跳    
    data2 = [int(i) for i in [0, 203, 235, 268, 300, 332, 365, 397, 429, 462, 494, 526, 559, 591, 623, 656, 688, 720, 753, 785, 817, 850, 882, 914, 947, 979, 1011, 1044, 1076, 1108, 1141, 1173, 1205, 1238, 1270, 1302, 1335, 1367, 1399, 1432, 1464, 1496, 1529, 1561, 1593, 1626, 1658, 1691, 1723, 1755, 1788, 1820, 1852, 1885, 1917, 1949, 1982, 2014, 2046, 2079, 2111, 2143, 2176, 2208, 2240, 2273, 2305, 2337, 2370, 2402, 2434]]
    hit2 = 1/0.5
    data3 = [int(i) for i in [0, 1014, 1176, 1338, 1499, 1661, 1823, 1985, 2146, 2308, 2470, 2631, 2793, 2955, 3116, 3278, 3440, 3602, 3763, 3925, 4087, 4248, 4410, 4572, 4733, 4895, 5057, 5219, 5380, 5542, 5704, 5865, 6027, 6189, 6350, 6512, 6674, 6836, 6997, 7159, 7321, 7482, 7644, 7806, 7967, 8129, 8291, 8453, 8614, 8776, 8938, 9099, 9261, 9423, 9584, 9746, 9908, 10070, 10231, 10393, 10555, 10716, 10878, 11040, 11201, 11363, 11525, 11687, 11848, 12010, 12172]]
    hit3 = 1
    CD = 1

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.07 + 0.005 * self.等级, 5)

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0


class 技能17(主动技能):
    名称 = '火遁·冥炎业火阵'
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int((i*0.8)) for i in [0, 5013, 6177, 7340, 8504, 9666, 10831, 11993, 13155, 14317, 15481, 16643, 17808, 18971, 20134, 21295, 22459, 23622, 24786, 25948, 27112, 28274, 29436, 30602, 31762, 32926, 34088, 35253, 36415, 37579, 38740, 39903, 41065, 42230, 43393, 44556, 45719, 46884, 48045, 49208, 50370, 51533, 52696, 53859, 55022, 56185, 57349, 58511, 59674, 60837, 62000, 63163, 64326, 65490, 66652, 67815, 68978, 70141, 71304, 72467, 73631, 74793, 75956, 77119, 78282, 79445, 80608, 81772, 82934, 84097, 85260]]
    hit0 = 1
    data1 = [int((i*0.8)) for i in [0, 6827, 8408, 9994, 11576, 13161, 14743, 16328, 17910, 19493, 21076, 22659, 24242, 25825, 27409, 28991, 30576, 32158, 33740, 35324, 36907, 38492, 40073, 41658, 43241, 44822, 46407, 47990, 49572, 51157, 52741, 54324, 55908, 57490, 59073, 60657, 62239, 63824, 65406, 66991, 68573, 70156, 71740, 73322, 74906, 76489, 78072, 79655, 81239, 82823, 84405, 85989, 87572, 89155, 90738, 92322, 93904, 95488, 97071, 98655, 100237, 101821, 103404, 104987, 106570, 108154, 109736, 111320, 112904, 114487, 116070]]
    hit1 = 1
    data2 = [int((i*0.8)) for i in [0, 1410, 1738, 2066, 2394, 2719, 3047, 3375, 3703, 4031, 4355, 4683, 5011, 5339, 5668, 5994, 6320, 6648, 6976, 7304, 7631, 7958, 8285, 8613, 8941, 9268, 9595, 9923, 10250, 10578, 10905, 11231, 11559, 11888, 12214, 12541, 12868, 13196, 13524, 13851, 14178, 14505, 14832, 15160, 15487, 15815, 16142, 16470, 16797, 17123, 17451, 17778, 18106, 18433, 18761, 19088, 19415, 19743, 20070, 20398, 20725, 21053, 21380, 21707, 22035, 22362, 22690, 23017, 23343, 23671, 23998]]
    hit2 = 1 
    data3 = [int((i*0.8)) for i in [0, 9691, 11943, 14188, 16435, 18683, 20932, 23180, 25427, 27675, 29924, 32172, 34417, 36667, 38914, 41161, 43409, 45657, 47906, 50153, 52402, 54648, 56897, 59143, 61393, 63639, 65886, 68136, 70382, 72630, 74877, 77127, 79374, 81622, 83871, 86119, 88365, 90611, 92860, 95108, 97356, 99604, 101852, 104100, 106347, 108595, 110842, 113090, 115338, 117586, 119834, 122082, 124330, 126578, 128826, 131074, 133321, 135568, 137816, 140064, 142312, 144560, 146808, 149056, 151304, 153551, 155799, 158047, 160295, 162543, 164790]]
    hit3 = 1
    data4 = [int((i*0.8)) for i in [0, 11378, 14017, 16657, 19294, 21932, 24573, 27212, 29849, 32487, 35127, 37767, 40402, 43043, 45682, 48320, 50958, 53599, 56237, 58874, 61514, 64153, 66791, 69428, 72069, 74708, 77347, 79985, 82623, 85263, 87900, 90540, 93179, 95820, 98455, 101095, 103734, 106373, 109010, 111649, 114290, 116929, 119567, 122206, 124846, 127484, 130123, 132761, 135400, 138039, 140678, 143317, 145955, 148594, 151233, 153871, 156511, 159149, 161788, 164427, 167065, 169705, 172343, 174982, 177621, 180259, 182899, 185537, 188176, 190815, 193453]]
    hit4 = 1
    data5 = [int((i*0.8)) for i in [0, 0, 0, 974, 1130, 1285, 1440, 1593, 1748, 1904, 2057, 2211, 2364, 2521, 2676, 2829, 2981, 3138, 3292, 3447, 3601, 3757, 3911, 4064, 4220, 4373, 4528, 4682, 4835, 4992, 5147, 5394, 5558, 5723, 5885, 6049, 6212, 6377, 6539, 6703, 6869, 7025, 7179, 7333, 7487, 7643, 7797, 7951, 8106, 8261, 8415, 8569, 8725, 8879, 9033, 9188, 9343, 9497, 9651, 9807, 9961, 10115, 10270, 10425, 10579, 10733, 10888, 11043, 11197, 11352, 11507]]
    hit5 = 10
    #灼伤
    灼伤data0 = [int((i*0.2)) for i in [0, 5013, 6177, 7340, 8504, 9666, 10831, 11993, 13155, 14317, 15481, 16643, 17808, 18971, 20134, 21295, 22459, 23622, 24786, 25948, 27112, 28274, 29436, 30602, 31762, 32926, 34088, 35253, 36415, 37579, 38740, 39903, 41065, 42230, 43393, 44556, 45719, 46884, 48045, 49208, 50370, 51533, 52696, 53859, 55022, 56185, 57349, 58511, 59674, 60837, 62000, 63163, 64326, 65490, 66652, 67815, 68978, 70141, 71304, 72467, 73631, 74793, 75956, 77119, 78282, 79445, 80608, 81772, 82934, 84097, 85260]]
    灼伤hit0 = 1
    灼伤data1 = [int((i*0.2)) for i in [0, 6827, 8408, 9994, 11576, 13161, 14743, 16328, 17910, 19493, 21076, 22659, 24242, 25825, 27409, 28991, 30576, 32158, 33740, 35324, 36907, 38492, 40073, 41658, 43241, 44822, 46407, 47990, 49572, 51157, 52741, 54324, 55908, 57490, 59073, 60657, 62239, 63824, 65406, 66991, 68573, 70156, 71740, 73322, 74906, 76489, 78072, 79655, 81239, 82823, 84405, 85989, 87572, 89155, 90738, 92322, 93904, 95488, 97071, 98655, 100237, 101821, 103404, 104987, 106570, 108154, 109736, 111320, 112904, 114487, 116070]]
    灼伤hit1 = 1
    灼伤data2 = [int((i*0.2)) for i in [0, 1410, 1738, 2066, 2394, 2719, 3047, 3375, 3703, 4031, 4355, 4683, 5011, 5339, 5668, 5994, 6320, 6648, 6976, 7304, 7631, 7958, 8285, 8613, 8941, 9268, 9595, 9923, 10250, 10578, 10905, 11231, 11559, 11888, 12214, 12541, 12868, 13196, 13524, 13851, 14178, 14505, 14832, 15160, 15487, 15815, 16142, 16470, 16797, 17123, 17451, 17778, 18106, 18433, 18761, 19088, 19415, 19743, 20070, 20398, 20725, 21053, 21380, 21707, 22035, 22362, 22690, 23017, 23343, 23671, 23998]]
    灼伤hit2 = 1
    灼伤data3 = [int((i*0.2)) for i in [0, 9691, 11943, 14188, 16435, 18683, 20932, 23180, 25427, 27675, 29924, 32172, 34417, 36667, 38914, 41161, 43409, 45657, 47906, 50153, 52402, 54648, 56897, 59143, 61393, 63639, 65886, 68136, 70382, 72630, 74877, 77127, 79374, 81622, 83871, 86119, 88365, 90611, 92860, 95108, 97356, 99604, 101852, 104100, 106347, 108595, 110842, 113090, 115338, 117586, 119834, 122082, 124330, 126578, 128826, 131074, 133321, 135568, 137816, 140064, 142312, 144560, 146808, 149056, 151304, 153551, 155799, 158047, 160295, 162543, 164790]]
    灼伤hit3 = 1
    灼伤data4 = [int((i*0.2)) for i in [0, 11378, 14017, 16657, 19294, 21932, 24573, 27212, 29849, 32487, 35127, 37767, 40402, 43043, 45682, 48320, 50958, 53599, 56237, 58874, 61514, 64153, 66791, 69428, 72069, 74708, 77347, 79985, 82623, 85263, 87900, 90540, 93179, 95820, 98455, 101095, 103734, 106373, 109010, 111649, 114290, 116929, 119567, 122206, 124846, 127484, 130123, 132761, 135400, 138039, 140678, 143317, 145955, 148594, 151233, 153871, 156511, 159149, 161788, 164427, 167065, 169705, 172343, 174982, 177621, 180259, 182899, 185537, 188176, 190815, 193453]]
    灼伤hit4 = 1
    灼伤data5 = [int((i*0.2)) for i in [0, 0, 0, 974, 1130, 1285, 1440, 1593, 1748, 1904, 2057, 2211, 2364, 2521, 2676, 2829, 2981, 3138, 3292, 3447, 3601, 3757, 3911, 4064, 4220, 4373, 4528, 4682, 4835, 4992, 5147, 5394, 5558, 5723, 5885, 6049, 6212, 6377, 6539, 6703, 6869, 7025, 7179, 7333, 7487, 7643, 7797, 7951, 8106, 8261, 8415, 8569, 8725, 8879, 9033, 9188, 9343, 9497, 9651, 9807, 9961, 10115, 10270, 10425, 10579, 10733, 10888, 11043, 11197, 11352, 11507]]
    灼伤hit5 = 10
    CD = 145

    MP = [881, 7403]
    无色消耗 = 5

    def 等效百分比(self,武器类型):
        if self.等级 >=6:
            self.倍率 = 1.1
        return super().等效百分比(武器类型)


class 技能18(主动技能):
    名称 = '忍法：飞燕手里剑'
    所在等级 = 60
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data0 = [int(i) for i in [101, 113, 121, 132, 142, 152, 161, 174, 183, 192, 205, 214, 223, 233, 245, 253, 265, 276, 287, 295, 304, 318, 326, 336, 346, 358, 366, 378, 389, 398, 407, 417, 427, 439, 449, 460, 470, 479, 490, 500, 510, 520, 531, 542, 551, 561, 571, 581, 592, 603, 613, 625, 637, 647, 657, 669, 680, 691, 701, 712, 724, 734, 745, 757, 768, 778, 788, 801, 811, 822]]
    hit0 = 1
    data1 = [int(i) for i in [127, 139, 152, 163, 176, 190, 203, 216, 228, 242, 253, 267, 280, 292, 304, 318, 330, 344, 358, 369, 381, 395, 407, 421, 434, 447, 458, 472, 485, 498, 510, 521, 535, 548, 561, 573, 586, 599, 612, 626, 639, 651, 663, 674, 688, 701, 715, 726, 741, 754, 768, 782, 795, 810, 823, 837, 851, 864, 879, 892, 907, 920, 935, 948, 962, 976, 989, 1004, 1017, 1031]]
    hit1 = 3
    data2 = [int(i) for i in [71, 77, 87, 93, 101, 107, 114, 124, 131, 137, 146, 152, 161, 169, 174, 183, 189, 198, 205, 209, 218, 224, 233, 242, 247, 253, 261, 268, 276, 283, 291, 297, 306, 314, 321, 329, 335, 344, 351, 358, 364, 371, 380, 388, 392, 399, 407, 417, 424, 429, 437, 442, 449, 456, 462, 468, 475, 482, 489, 495, 502, 509, 516, 521, 528, 535, 542, 548, 555, 562]]
    hit2 = 15
    data3 = [int(i) for i in [146, 159, 174, 189, 203, 218, 233, 245, 261, 276, 291, 304, 319, 335, 349, 364, 379, 392, 407, 422, 437, 451, 465, 481, 495, 510, 525, 539, 555, 569, 582, 597, 612, 626, 640, 656, 671, 685, 700, 715, 730, 745, 759, 772, 787, 803, 816, 830, 846, 861, 876, 891, 907, 922, 937, 952, 968, 983, 998, 1014, 1029, 1045, 1060, 1075, 1090, 1106, 1121, 1136, 1152, 1167]]
    hit3 = 15
    data4 = [int(i) for i in [506, 555, 607, 658, 710, 760, 811, 863, 914, 963, 1017, 1067, 1119, 1168, 1221, 1272, 1322, 1375, 1426, 1476, 1529, 1579, 1631, 1680, 1731, 1784, 1834, 1885, 1938, 1988, 2040, 2090, 2143, 2193, 2244, 2296, 2346, 2396, 2448, 2500, 2551, 2601, 2654, 2704, 2755, 2805, 2859, 2909, 2959, 3010, 3061, 3111, 3162, 3211, 3262, 3313, 3363, 3414, 3462, 3513, 3563, 3614, 3665, 3715, 3766, 3816, 3866, 3917, 3967, 4018]]
    hit4 = 1
    data5 = [int(i) for i in [421, 464, 508, 548, 592, 633, 674, 718, 761, 803, 846, 890, 932, 975, 1019, 1061, 1104, 1144, 1187, 1229, 1272, 1316, 1357, 1401, 1443, 1486, 1530, 1572, 1615, 1659, 1700, 1740, 1784, 1827, 1868, 1913, 1954, 1998, 2041, 2083, 2126, 2170, 2211, 2254, 2297, 2338, 2381, 2424, 2465, 2509, 2551, 2593, 2636, 2678, 2721, 2764, 2805, 2848, 2890, 2932, 2974, 3017, 3059, 3102, 3145, 3187, 3229, 3271, 3314, 3355]]
    hit5 = 10
    data6 = [int(i) for i in [589, 648, 710, 769, 828, 887, 946, 1006, 1066, 1126, 1186, 1245, 1305, 1366, 1425, 1485, 1545, 1604, 1663, 1722, 1783, 1842, 1903, 1961, 2021, 2079, 2142, 2200, 2262, 2319, 2380, 2439, 2500, 2559, 2617, 2677, 2735, 2798, 2856, 2917, 2975, 3036, 3095, 3156, 3215, 3275, 3332, 3394, 3452, 3513, 3572, 3630, 3690, 3750, 3808, 3867, 3926, 3986, 4045, 4104, 4162, 4222, 4281, 4340, 4400, 4459, 4519, 4576, 4636, 4695]]
    hit6 = 10
    CD = 30
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    形态 = ["满","空中"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "满":
            self.hit0 = 1
            self.hit1 = 3
            self.hit2 = 15
            self.hit3 = 15
            self.hit4 = 1
            self.hit5 = 10
            self.hit6 = 10
        if 形态 == "空中":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 0
            self.hit3 = 0
            self.hit4 = 0
            self.hit5 = 15
            self.hit6 = 15

    def 装备护石(self):
        self.倍率 *= 1.16


class 技能19(主动技能):
    名称 = '火遁·风魔手里剑'
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i) for i in [0, 293, 321, 352, 381, 411, 440, 470, 499, 530, 559, 588, 618, 648, 677, 708, 737, 766, 797, 826, 857, 885, 915, 945, 975, 1003, 1034, 1063, 1093, 1123, 1153, 1181, 1212, 1242, 1272, 1302, 1330, 1361, 1390, 1420, 1449, 1479, 1508, 1539, 1568, 1597, 1627, 1657, 1687, 1717, 1746, 1776, 1806, 1835, 1866, 1894, 1924, 1954, 1984, 2012, 2043, 2072, 2103, 2132, 2161, 2190, 2221, 2251, 2281, 2310, 2339]]
    hit0 = 15
    data1 = [int(i) for i in [0, 657, 724, 792, 858, 925, 992, 1058, 1125, 1192, 1258, 1326, 1392, 1458, 1526, 1593, 1660, 1725, 1793, 1860, 1926, 1994, 2060, 2126, 2193, 2261, 2326, 2393, 2461, 2528, 2594, 2660, 2728, 2794, 2861, 2929, 2994, 3061, 3129, 3195, 3262, 3328, 3396, 3462, 3529, 3597, 3663, 3729, 3796, 3863, 3930, 3997, 4062, 4130, 4197, 4264, 4331, 4397, 4464, 4530, 4598, 4665, 4730, 4798, 4865, 4931, 4997, 5065, 5132, 5198, 5266]]
    hit1 = 10
    data2 = [int(i) for i in [0, 10970, 12082, 13196, 14309, 15422, 16535, 17648, 18760, 19874, 20986, 22099, 23213, 24326, 25439, 26550, 27664, 28777, 29891, 31003, 32116, 33230, 34343, 35454, 36568, 37681, 38794, 39907, 41020, 42133, 43246, 44358, 45471, 46585, 47698, 48811, 49924, 51036, 52149, 53263, 54375, 55488, 56602, 57715, 58826, 59940, 61053, 62166, 63279, 64392, 65505, 66618, 67730, 68843, 69957, 71070, 72183, 73296, 74409, 75521, 76635, 77747, 78860, 79974, 81087, 82199, 83312, 84425, 85538, 86651, 87764]]
    hit2 = 1
    #灼伤 仅佩戴护石时有效，选用data1的数据;为data1的6%
    灼伤data0 = [int(i) for i in [0, 657, 724, 792, 858, 925, 992, 1058, 1125, 1192, 1258, 1326, 1392, 1458, 1526, 1593, 1660, 1725, 1793, 1860, 1926, 1994, 2060, 2126, 2193, 2261, 2326, 2393, 2461, 2528, 2594, 2660, 2728, 2794, 2861, 2929, 2994, 3061, 3129, 3195, 3262, 3328, 3396, 3462, 3529, 3597, 3663, 3729, 3796, 3863, 3930, 3997, 4062, 4130, 4197, 4264, 4331, 4397, 4464, 4530, 4598, 4665, 4730, 4798, 4865, 4931, 4997, 5065, 5132, 5198, 5266]]
    灼伤hit0 = 0
    灼伤power0 = 0.06
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1
    CD = 50

    MP = [800, 1680]
    无色消耗 = 2

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
            if '火遁·风魔手里剑' in char.护石栏:
                self.hit0 = 0
                self.hit1 = 20
                self.灼伤hit0 = 20
                self.power2 = 1.3               
        else : 
            形态 == "六道"
            self.倍率 = 1.8
            if '火遁·风魔手里剑' in char.护石栏:
                self.hit0 = 0
                self.hit1 = 20
                self.灼伤hit0 = 20
                self.power2 = 1.3

    def 装备护石(self):
        self.hit0 = 0
        self.hit1 = 20
        self.灼伤hit0 = 20
        self.power2 = 1.3


class 技能20(主动技能):
    名称 = '八岐大蛇'
    备注 = '(者皆阵结印)'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i) for i in [0, 2952, 3135, 3319, 3501, 3683, 3865, 4049, 4232, 4415, 4598, 4779, 4962, 5145, 5329, 5510, 5695, 5876, 6059, 6242, 6425, 6607, 6790, 6972, 7156, 7339, 7522, 7704, 7887, 8069, 8252, 8434, 8617, 8801, 8982, 9166, 9349, 9531, 9714, 9897, 10079, 10261, 10445, 10627, 10811, 10994, 11176, 11358, 11541, 11725, 11907, 12091, 12271, 12455, 12637, 12821, 13005, 13187, 13369, 13551, 13735, 13917, 14101, 14285, 14465, 14649, 14831, 15015, 15196, 15380, 15561]]
    hit0 = 1
    data1 = [int(i) for i in [0, 3055, 3335, 3618, 3898, 4180, 4460, 4741, 5023, 5304, 5585, 5866, 6147, 6429, 6710, 6991, 7272, 7553, 7836, 8117, 8396, 8679, 8958, 9242, 9522, 9803, 10083, 10364, 10647, 10928, 11209, 11488, 11771, 12052, 12334, 12614, 12896, 13176, 13459, 13739, 14021, 14301, 14583, 14864, 15146, 15426, 15707, 15988, 16270, 16551, 16832, 17113, 17393, 17676, 17956, 18238, 18518, 18799, 19081, 19362, 19643, 19924, 20205, 20487, 20768, 21049, 21330, 21611, 21893, 22174, 22454]]
    hit1 = 10
    data2 = [int(i) for i in [477, 551, 626, 697, 771, 845, 917, 990, 1063, 1136, 1210, 1282, 1356, 1427, 1502, 1575, 1647, 1721, 1795, 1866, 1941, 2012, 2086, 2161, 2232, 2306, 2380, 2452, 2525, 2599, 2671, 2745, 2817, 2891, 2963, 3037, 3110, 3182, 3256, 3330, 3401, 3476, 3548, 3621, 3696, 3767, 3841, 3915, 3987, 4060, 4134, 4206, 4280, 4353, 4426, 4498, 4572, 4645, 4718, 4791, 4865, 4936, 5011, 5083, 5156, 5231, 5303, 5375, 5450, 5523]]
    hit2 = 21
    是否有护石 = 1
    CD = 43

    MP = [600, 4500]
    无色消耗 = 3

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
            if '八岐大蛇' in char.护石栏:
                self.hit0 = 1
                self.hit1 = 11
                self.power1 = 1.74
                self.hit2 = 0            
        else : 
            形态 == "六道"
            self.倍率 = 1.8
            if '八岐大蛇' in char.护石栏:
                self.hit0 = 1
                self.hit1 = 11
                self.power1 = 1.74
                self.hit2 = 0

    def 装备护石(self):
        self.hit0 = 1
        self.hit1 = 11
        self.power1 = 1.74
        self.hit2 = 0


class 技能21(主动技能):
    名称 = '八尺琼勾玉'
    备注 = '来回两次伤害'
    是否主动 = 0
    所在等级 = 75
    等级上限 = 1
    学习间隔 = 1    
    等级精通 = 1

    data0 = [int(i) for i in [0, 740]]
    hit0 = 2
    data1 = [int(i) for i in [0, 820]]
    hit1 = 2
    data2 = [int(i) for i in [0, 850]]
    hit2 = 2
    CD = 3.0

    def 等效CD(self, 武器类型, 输出类型):
        # Will修改
        return round(self.CD / self.恢复, 1)


class 技能22(被动技能):
    名称 = '八咫镜'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.08 + 0.02 * self.等级, 5)


class 技能23(主动技能):
    名称 = '天照'
    备注 = '(者皆阵结印)'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i) for i in [0, 3926, 4323, 4723, 5121, 5520, 5918, 6315, 6714, 7112, 7512, 7910, 8307, 8706, 9105, 9503, 9900, 10300, 10696, 11097, 11495, 11892, 12291, 12689, 13089, 13485, 13884, 14282, 14681, 15078, 15477, 15876, 16273, 16673, 17071, 17469, 17867, 18266, 18663, 19062, 19460, 19859, 20258, 20655, 21054, 21452, 21850, 22248, 22648, 23046, 23444, 23843, 24239, 24639, 25037, 25435, 25835, 26232, 26631, 27029, 27427, 27824, 28223, 28621, 29021, 29420, 29816, 30215, 30614, 31012, 31409]]
    hit0 = 2
    data1 = [int(i) for i in [0, 4179, 4604, 5028, 5451, 5877, 6300, 6725, 7149, 7572, 7997, 8420, 8844, 9269, 9692, 10117, 10540, 10964, 11390, 11812, 12236, 12660, 13085, 13510, 13932, 14355, 14781, 15205, 15630, 16053, 16477, 16902, 17326, 17751, 18173, 18598, 19022, 19446, 19868, 20294, 20718, 21141, 21566, 21989, 22414, 22838, 23261, 23686, 24109, 24533, 24957, 25381, 25807, 26230, 26654, 27079, 27502, 27928, 28350, 28774, 29199, 29623, 30048, 30470, 30894, 31320, 31743, 32167, 32589, 33015, 33438]]
    hit1 = 8
    倍率 = 1.06 # 者皆阵倍率
    # 攻击倍率 = 1.03  # 临兵斗倍率
    是否有护石 = 1
    CD = 51

    MP = [800, 6000]
    无色消耗 = 5

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0
            if '天照' in char.护石栏:
                self.power1 = 1.33       
        else : 
            形态 == "六道"
            self.倍率 = 1.8
            if '天照' in char.护石栏:
                self.power1 = 1.33

    def 装备护石(self):
        self.power1 = 1.33
        self.CDR *= 0.85


class 技能24(主动技能):
    名称 = '火炎灼空：草雉剑'
    所在等级 = 85
    等级上限 = 40
    学习间隔 = 5
    等级精通 = 30

    #平x第一击
    data0 = [int(i*(3225/1134)) for i in [0, 969, 996, 1024, 1051, 1079, 1107, 1134, 1161, 1190, 1217, 1244, 1272, 1300, 1327, 1355, 1382, 1410, 1437, 1465, 1492, 1520, 1548, 1575, 1602, 1631, 1658, 1685, 1713, 1741, 1768, 1796, 1823, 1851, 1878, 1906, 1933, 1961, 1989, 2016, 2043, 2072, 2099, 2126, 2154, 2182, 2209, 2237, 2264, 2292, 2319, 2347, 2374, 2402, 2430, 2457, 2484, 2513, 2540, 2567, 2595, 2623, 2650, 2678, 2705, 2733, 2760, 2788, 2815, 2843, 2871]]
    hit0 = 0
    #平x第二击
    data1 = [int(i*(3197/1106)) for i in [0, 979, 1000, 1021, 1042, 1064, 1085, 1106, 1127, 1149, 1170, 1191, 1212, 1234, 1255, 1276, 1297, 1319, 1340, 1361, 1382, 1404, 1425, 1446, 1467, 1489, 1510, 1531, 1552, 1574, 1595, 1616, 1637, 1659, 1680, 1701, 1722, 1744, 1765, 1786, 1807, 1829, 1850, 1871, 1892, 1914, 1935, 1956, 1977, 1999, 2020, 2041, 2062, 2084, 2105, 2126, 2147, 2169, 2190, 2211, 2232, 2254, 2275, 2296, 2317, 2339, 2360, 2381, 2402, 2424, 2445]]
    hit1 = 0
    #空中x两下
    data2 = [int(i*(3352/1261)) for i in [0, 1044, 1079, 1116, 1152, 1189, 1224, 1261, 1297, 1334, 1369, 1406, 1442, 1478, 1514, 1551, 1587, 1623, 1659, 1696, 1731, 1768, 1804, 1841, 1876, 1913, 1949, 1986, 2021, 2058, 2094, 2130, 2166, 2203, 2239, 2275, 2311, 2348, 2384, 2420, 2456, 2493, 2528, 2565, 2601, 2638, 2673, 2710, 2746, 2783, 2818, 2855, 2891, 2927, 2963, 3000, 3036, 3072, 3108, 3145, 3180, 3217, 3253, 3290, 3325, 3362, 3398, 3435, 3470, 3507, 3543]]
    hit2 = 0
    #终结
    data3 = [int(i) for i in [0, 5230, 6444, 7658, 8870, 10083, 11296, 12508, 13721, 14934, 16146, 17359, 18574, 19787, 20999, 22212, 23425, 24637, 25850, 27065, 28278, 29490, 30704, 31917, 33129, 34342, 35556, 36768, 37981, 39194, 40406, 41619, 42833, 44046, 45258, 46472, 47685, 48897, 50110, 51323, 52535, 53748, 54963, 56175, 57388, 58601, 59814, 61026, 62239, 63452, 64664, 65877, 67092, 68306, 69518, 70731, 71944, 73156, 74370, 75583, 76795, 78008, 79222, 80435, 81647, 82860, 84074, 85286, 86499, 87712, 88924]]
    hit3 = 1
    data4 = [int(i) for i in [0, 26503, 32649, 38793, 44940, 51085, 57230, 63375, 69522, 75666, 81812, 87957, 94103, 100249, 106395, 112540, 118685, 124832, 130976, 137122, 143267, 149412, 155558, 161705, 167849, 173996, 180140, 186286, 192431, 198576, 204723, 210868, 217015, 223159, 229306, 235450, 241596, 247741, 253886, 260032, 266178, 272322, 278468, 284616, 290760, 296906, 303051, 309197, 315342, 321488, 327632, 333778, 339923, 346069, 352214, 358362, 364506, 370652, 376798, 382942, 389089, 395233, 401379, 407524, 413669, 419815, 425962, 432106, 438252, 444398, 450543]]
    hit4 = 3
    #平x第一击 灼伤原伤害10%
    灼伤data0 = [int((i*0.1)*(3225/1134)) for i in [0, 969, 996, 1024, 1051, 1079, 1107, 1134, 1161, 1190, 1217, 1244, 1272, 1300, 1327, 1355, 1382, 1410, 1437, 1465, 1492, 1520, 1548, 1575, 1602, 1631, 1658, 1685, 1713, 1741, 1768, 1796, 1823, 1851, 1878, 1906, 1933, 1961, 1989, 2016, 2043, 2072, 2099, 2126, 2154, 2182, 2209, 2237, 2264, 2292, 2319, 2347, 2374, 2402, 2430, 2457, 2484, 2513, 2540, 2567, 2595, 2623, 2650, 2678, 2705, 2733, 2760, 2788, 2815, 2843, 2871]]
    灼伤hit0 = 0
    #平x第二击 灼伤原伤害10%
    灼伤data1 = [int((i*0.1)*(3197/1106)) for i in [0, 979, 1000, 1021, 1042, 1064, 1085, 1106, 1127, 1149, 1170, 1191, 1212, 1234, 1255, 1276, 1297, 1319, 1340, 1361, 1382, 1404, 1425, 1446, 1467, 1489, 1510, 1531, 1552, 1574, 1595, 1616, 1637, 1659, 1680, 1701, 1722, 1744, 1765, 1786, 1807, 1829, 1850, 1871, 1892, 1914, 1935, 1956, 1977, 1999, 2020, 2041, 2062, 2084, 2105, 2126, 2147, 2169, 2190, 2211, 2232, 2254, 2275, 2296, 2317, 2339, 2360, 2381, 2402, 2424, 2445]]
    灼伤hit1 = 0
    #空中x两下 灼伤原伤害10%
    灼伤data2 = [int((i*0.1)*(3352/1261)) for i in [0, 1044, 1079, 1116, 1152, 1189, 1224, 1261, 1297, 1334, 1369, 1406, 1442, 1478, 1514, 1551, 1587, 1623, 1659, 1696, 1731, 1768, 1804, 1841, 1876, 1913, 1949, 1986, 2021, 2058, 2094, 2130, 2166, 2203, 2239, 2275, 2311, 2348, 2384, 2420, 2456, 2493, 2528, 2565, 2601, 2638, 2673, 2710, 2746, 2783, 2818, 2855, 2891, 2927, 2963, 3000, 3036, 3072, 3108, 3145, 3180, 3217, 3253, 3290, 3325, 3362, 3398, 3435, 3470, 3507, 3543]]
    灼伤hit2 = 0 
    CD = 180

    形态 = ["平x一轮","空中一轮","终结"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "终结":
            self.hit3 = 1
            self.hit4 = 3
        if 形态 == "平x一轮":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 0
            self.hit3 = 0
            self.hit4 = 0
            self.灼伤hit0 = 1
            self.灼伤hit1 = 1
            self.灼伤hit2 = 0
        if 形态 == "空中一轮":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 2
            self.hit3 = 0
            self.hit4 = 0
            self.灼伤hit0 = 0
            self.灼伤hit1 = 0
            self.灼伤hit2 = 2



class 技能25(主动技能):
    名称 = '勾玉之火·镰鼬'
    备注 = '(者皆阵结印)'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i) for i in [0, 10947, 12058, 13169, 14280, 15389, 16500, 17611, 18721, 19832, 20943, 22054, 23164, 24275, 25386, 26495, 27606, 28717, 29827, 30938, 32049, 33160, 34270, 35381, 36492, 37601, 38712, 39823, 40933, 42044, 43155, 44266, 45376, 46487, 47598, 48707, 49818, 50929, 52039, 53150, 54261, 55372, 56482, 57593, 58703, 59813, 60924, 62035, 63145, 64256, 65367, 66478, 67588, 68699, 69809, 70919, 72030, 73141, 74251, 75362, 76473, 77584, 78694, 79804, 80915, 82025, 83136, 84247, 85358, 86468, 87579]]
    hit0 = 1
    data1 = [int(i) for i in [0, 1460, 1608, 1756, 1903, 2051, 2200, 2348, 2496, 2644, 2792, 2940, 3089, 3237, 3385, 3533, 3681, 3828, 3977, 4125, 4273, 4421, 4569, 4717, 4866, 5014, 5162, 5310, 5458, 5605, 5755, 5902, 6050, 6198, 6346, 6494, 6642, 6791, 6939, 7087, 7235, 7383, 7530, 7679, 7827, 7975, 8123, 8271, 8419, 8568, 8716, 8864, 9012, 9160, 9307, 9457, 9604, 9752, 9900, 10048, 10196, 10344, 10493, 10641, 10789, 10937, 11085, 11232, 11381, 11529, 11677]]
    hit1 = 30
    data2 = [int(i) for i in [0, 51638, 56877, 62115, 67354, 72592, 77831, 83070, 88309, 93548, 98786, 104025, 109263, 114502, 119741, 124980, 130219, 135457, 140696, 145935, 151173, 156412, 161650, 166889, 172127, 177366, 182606, 187844, 193083, 198321, 203560, 208798, 214037, 219276, 224514, 229753, 234992, 240231, 245469, 250708, 255947, 261185, 266424, 271662, 276901, 282139, 287378, 292618, 297856, 303095, 308333, 313572, 318810, 324049, 329288, 334526, 339765, 345003, 350243, 355481, 360720, 365959, 371197, 376436, 381674, 386914, 392153, 397391, 402630, 407868, 413107]]
    hit2 = 1
    倍率 = 1.06
    CD = 60

    MP = [960, 2000]
    无色消耗 = 7

    形态 = ["常规","六道"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.倍率 = 1.0   
        else : 
            形态 == "六道"
            self.倍率 = 1.8


class 技能26(被动技能):
    名称 = '三元刹'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能27(主动技能):
    名称 = '火源限界·八咫乌'
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i) for i in [0, 6828, 8412, 9994, 11578, 13161, 14744, 16327, 17911, 19494, 21077, 22661, 24244, 25827, 27410, 28994, 30576, 32160, 33744, 35326, 36910, 38493, 40077, 41659, 43243, 44826, 46409, 47993, 49576, 51160, 52742, 54326, 55909, 57492, 59075, 60659, 62243, 63825, 65409, 66992, 68575, 70158, 71742, 73326, 74908, 76492, 78075, 79658, 81241, 82825, 84407, 85991, 87575, 89158, 90741, 92324, 93908, 95490, 97074, 98657, 100241, 101824, 103407, 104991, 106573, 108157, 109740, 111324, 112906, 114490, 116074]]
    hit0 = 12
    data1 = [int(i) for i in [0, 8779, 10815, 12850, 14886, 16921, 18957, 20992, 23028, 25064, 27099, 29135, 31170, 33206, 35241, 37277, 39314, 41349, 43385, 45420, 47456, 49491, 51527, 53563, 55598, 57634, 59669, 61705, 63740, 65776, 67812, 69847, 71883, 73918, 75954, 77989, 80026, 82062, 84097, 86133, 88168, 90204, 92240, 94275, 96311, 98346, 100382, 102417, 104453, 106489, 108524, 110560, 112595, 114632, 116667, 118703, 120739, 122774, 124810, 126845, 128881, 130916, 132952, 134988, 137023, 139059, 141094, 143130, 145165, 147201, 149238]]
    hit1 = 14
    data2 = [int(i) for i in [0, 204835, 252334, 299831, 347329, 394828, 442325, 489823, 537321, 584820, 632317, 679815, 727313, 774812, 822309, 869807, 917306, 964803, 1012301, 1059799, 1107298, 1154795, 1202293, 1249791, 1297290, 1344787, 1392285, 1439784, 1487282, 1534779, 1582277, 1629776, 1677273, 1724771, 1772270, 1819768, 1867265, 1914763, 1962262, 2009760, 2057257, 2104755, 2152254, 2199751, 2247249, 2294748, 2342246, 2389743, 2437241, 2484740, 2532238, 2579735, 2627233, 2674732, 2722230, 2769727, 2817226, 2864724, 2912221, 2959719, 3007218, 3054716, 3102213, 3149712, 3197210, 3244708, 3292205, 3339704, 3387202, 3434699, 3482197]]
    hit2 = 1
    CD = 290.0

    MP = [4028, 8056]
    无色消耗 = 15


class classChange(Character):
    def __init__(self):
        self.实际名称 = 'kunoichi'
        self.名称 = '隐夜·忍者'
        self.角色 = '暗夜使者'

        self.职业 = '忍者'
        self.武器选项 = ['苦无']
        self.输出类型选项 = ['魔法百分比']
        self.防具精通属性 = ['智力']
        self.类型 = '魔法百分比'
        self.武器类型 = '苦无'
        self.防具类型 = '布甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.04

        super().__init__()
